package com.fh.fruit.service.plantbase;

import java.util.List;
import java.util.Map;

import com.fh.entity.Page;
import com.fh.fruit.entity.plantbase.PlantBase;
import com.fh.util.PageData;
/**
 * 种植基地Manager
 * @author Administrator
 * @version 2017.11.30 15:39
 */
public interface PlantBaseManager {
	/**
	 * 基地列表
	 * @param page page
	 * @return 基地list
	 * @throws Exception Exception
	 */
	List<PlantBase> listPlantBases(Page page) throws Exception;
	/**
	 * 新增基地 
	 * @param pd pd
	 * @throws Exception Exception
	 */
	void savePlantBases(PageData pd) throws Exception;
	/**
	 * 删除基地
	 * @param pd pd
	 * @return 记录数
	 * @throws Exception Exception
	 * 
	 */
	int deletePlantBases(PageData pd) throws Exception;
	
	/**
	 * 编辑基地
	 * @param pd pd
	 * @return 记录数
	 * @throws Exception Exception
	 */
	int updatePlantBases(PageData pd) throws Exception;
	/**
	 * 通过id查询基地
	 * @param pd pd
	 * @return 基地信息
	 * @throws Exception Exception
	 */
	PlantBase findById(PageData pd) throws Exception;
	/**
	 * 通过基地名称或者编码查询
	 * @param pd pd
	 * @return 基地信息集合
	 * @throws Exception Exception
	 */
	List<PageData> findByNameOrCode(PageData pd) throws Exception;
	/**
	 * 查询全部基地
	 * @param parseInt parseInt
	 * @return 基地信息集合
	 * @throws Exception Exception
	 */
	List<PageData> synTree(int parseInt) throws Exception;
	/**
	 * 地区下拉列表
	 * @param pd pd
	 * @return 地区集合
	 * @throws Exception Exception
	 */
	List<PageData> list(PageData pd) throws Exception;
	/**
	 * 基地发货地址
	 * @param Page page
	 * @return 发货地址
	 * @throws Exception Exception
	 */ 
	List<Map<String, Object>> listDeliveryAdd(Page page) throws Exception;
	/**
	 * 基地发货地址
	 * @param PageData PageData
	 * @return 发货地址
	 * @throws Exception Exception
	 */ 
	Map<String, Object> getAddress(PageData pd) throws Exception;
	/**
	 * 新增发货地址
	 * @param PageData PageData
	 * @return 发货地址
	 * @throws Exception Exception
	 */ 
	Map<String, Object> getBaseMsg(PageData pd) throws Exception;
	/**
	 * 修改发货地址
	 * @param PageData PageData
	 * @return 发货地址
	 * @throws Exception Exception
	 */ 
	int editD(PageData pd) throws Exception;
	/**
	 * 新增发货地址
	 * @param PageData PageData
	 * @return 发货地址
	 * @throws Exception Exception
	 */
	void saveD(PageData pd) throws Exception;
	/**
	 * 删除发货地址
	 * @param PageData PageData
	 * @return 发货地址
	 * @throws Exception Exception
	 */
	int deleteD(PageData pd) throws Exception;
}
